System and method to control a three-dimensional (3d) printer

ABSTRACT

A three-dimensional (3D) printer device includes a first extruder configured to deposit a material on a deposition platform, an actuator coupled to at least one of the first extruder or the deposition platform, and a controller coupled to the actuator. The controller is configured to cause the first extruder to deposit a first portion of the material corresponding to a first portion of a physical model. The controller may be configured to cause the first extruder to be cleaned, purged, or both, after the first extruder deposits the first portion of the material. The controller may be configured to cause the first extruder to deposit a second portion of the material after the first extruder is cleaned. The second portion of the material corresponds to a second portion of the physical model.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 62/208,222, filed Aug. 21, 2015 and entitled “Closed-Loop 3D Printing Incorporating Sensor Feedback,” U.S. Provisional Patent Application No. 62/340,389, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” U.S. Provisional Patent Application No. 62/340,421, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” U.S. Provisional Patent Application No. 62/340,453, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTING DEVICE,” U.S. Provisional Patent Application No. 62/340,436, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” and U.S. Provisional Patent Application No. 62/340,432, filed May 23, 2016 and entitled “3D PRINTER CALIBRATION AND CONTROL;” the contents of each of the aforementioned applications are expressly incorporated herein by reference in their entirety.

FIELD OF THE DISCLOSURE

The present disclosure is generally related to control of a three-dimensional (3D) printer device.

BACKGROUND

Improvements in computing technologies and material processing technologies have led to an increased interest in computer-driven additive manufacturing techniques, such as three-dimensional (3D) printing. Generally, 3D printing is performed using a 3D printer device that includes an extruder, one or more actuators, and a controller coupled to some form of structural alignment system, such as a frame. The controller is configured to control the extruder and the actuators to deposit material, such as a polymer-based material, in a controlled arrangement to form a physical object.

SUMMARY

In a particular implementation, a method includes obtaining model data representing a three-dimensional (3D) model of an object. The method also includes processing the model data to generate a set of commands to direct a 3D printer to extrude a material to form a physical model associated with the object. The set of commands is executable to cause an extruder of the 3D printer to deposit a first portion of the material corresponding to a first portion of the physical model, to clean, to purge, or to clean and purge the extruder after depositing the first portion of the material, and to deposit a second portion of the material after cleaning the extruder. The second portion of the material corresponds to a second portion of the physical model.

In another particular implementation, a method includes obtaining model data representing a three-dimensional (3D) model of an object. The method also includes processing the model data to generate a set of commands to direct a 3D printer to extrude one or more materials to form a physical model associated with the object. The set of commands is executable to cause a first extruder of the 3D printer to deposit a portion of a first material to form a first portion of the physical model and to, after depositing the portion of the first material, clean a second extruder of the 3D printer, purge the second extruder, or clean and purge the second extruder.

In a particular implementation, a three-dimensional (3D) printer device includes a first extruder configured to deposit a material on a deposition platform, an actuator coupled to at least one of the first extruder or the deposition platform, and a controller coupled to the actuator. The controller may be configured to cause the first extruder to deposit a first portion of the material corresponding to a first portion of a physical model. The controller may be configured to cause the first extruder to be cleaned, purged, or both, after the first extruder deposits the first portion of the material. The controller may be configured to cause the first extruder to deposit a second portion of the material after the first extruder is cleaned. The second portion of the material corresponds to a second portion of the physical model.

In another particular implementation, a three-dimensional (3D) printer device includes a first extruder configured to deposit a first material on a deposition platform, a second extruder configured to deposit a second material on the deposition platform, an actuator coupled to the first extruder, the second extruder, the deposition platform, or a combination thereof, and a controller coupled to the actuator. The controller is configured to cause the first extruder to deposit a first portion of the first material corresponding to a first portion of a physical model and to cause the second extruder to be cleaned, purged, or both, after the first extruder deposits the first portion of the first material.

In another particular implementation, a method includes depositing, using a first extruder of a three-dimensional (3D) printer device, a first portion of a first material corresponding to a first portion of a physical model of an object. The method also includes cleaning, purging, or cleaning and purging the first extruder after depositing the first portion of the first material. The method further includes, after cleaning the first extruder, depositing, using the first extruder, a second portion of the first material, the second portion of the first material corresponding to a second portion of the physical model.

In another particular implementation, a method includes depositing, using a first extruder of a three-dimensional (3D) printer device, a portion of a first material to form a first portion of a physical model. The method further includes, after depositing the portion of the first material, cleaning a second extruder of the 3D printer device, purging the second extruder, or cleaning and purging the second extruder.

The features, functions, and advantages that have been described can be achieved independently in various implementations or may be combined in yet other implementations, further details of which are disclosed with reference to the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates a system that includes a three-dimensional (3D) printing device, according to a particular embodiment;

FIGS. 2A, 2B and 2C illustrate extruding a material by a 3D printing device, according to particular embodiments;

FIGS. 3A, and 3B illustrate extruding a material by a 3D printing device, according to particular embodiments;

FIG. 4 is a diagram that illustrates a particular embodiment of a method of slicing a 3D model to form commands to control a 3D printing device;

FIGS. 5, 6, 7, 8, 9, 10, 11, 12, 13, and 14 illustrate various stages during printing of a physical model of the 3D model of FIG. 4;

FIG. 15 is a flow chart of an example of a method that may be performed by the system of FIG. 1;

FIG. 16 is a flow chart of an example of a method that may be performed by the system of FIG. 1;

FIG. 17 is a flow chart of another example of a method that may be performed by the system of FIG. 1;

FIG. 18 is a flow chart of another example of a method that may be performed by the system of FIG. 1;

FIG. 19 is a flow chart of another example of a method that may be performed by the system of FIG. 1;

FIG. 20 is a flow chart of another example of a method that may be performed by the system of FIG. 1;

FIG. 21 is a flow chart of another example of a method that may be performed by the system of FIG. 1; and

FIG. 22 is a flow chart of another example of a method that may be performed by the system of FIG. 1.

DETAILED DESCRIPTION

A 3D printer may be a peripheral device that includes an interface to a computing device. For example, the computing device may be used to generate or access a 3D model of an object. In this example, a computer-aided design (CAD) program may be used to generate the 3D model. A slicer application may be to process the 3D model to generate commands that are executable by the 3D printer to form a physical model of the object. For example, the slicer application may generate G-code (or other machine instructions) that instruct the controller of the 3D printer when and where to move the extruder and provides information regarding 3D printer settings, such as extruder temperature, material feed rate, extruder movement direction, extruder movement speed, among others.

The slicer application may generate the G-code or machine instructions by dividing the 3D model into layers (also referred to as “slices”). The slicer application determines a pattern of material to be deposited to form a physical model of each slice. Generally, the physical model of each slice is formed as a series or set of lines of extruded material. The G-code (or other machine instructions), when executed by the controller of the 3D printer, cause the extruder to deposit a set of lines of the material in a pattern to form each layer, and one layer is stacked upon another to form the physical model. Layer stacking arrangements or support members can also be used to form lines of the material that are partially unsupported (e.g., arches).

There are many ways that the slicer application can arrange the pattern of materials to be deposited to form each layer. Characteristics of a 3D print job may vary depending on how the slicer application arranges the pattern lines that make up each of the layers. For example, two different patterns of lines may have different printing characteristics, such as an amount of time used to print the physical model, an amount of material used to print the physical model, etc. As another example, two different patterns of lines may result in physical models that have different characteristics, such as interlayer adhesion, weight, durability, etc. Accordingly, different slicer applications or different settings or configurations of the slicer application can affect the outcome of a particular 3D print job.

Besides the arrangement of the pattern of materials, other factors can also affect print quality. For example, during extrusion, some materials have a tendency to clog or partially clog a nozzle of the extruder. As the nozzle begins to clog, the flow properties of the nozzle change. To illustrate, a decreased flow area of the nozzle can lead to forming lines that have decreased cross-sectional area, which can reduce print quality. Additionally, if a clog breaks loose during extrusion, the clog can be deposited as a clump or other line deformity. As another example, some materials may aggregate around the nozzle during extrusion to forms clumps that do not occlude the nozzle but can nevertheless lead to problems. These clumps of material can break loose during extrusion to cause clumps or other line deformities in the deposited material.

Accordingly, one method of improving print quality is to periodically or occasionally interrupt the extrusion process to clean the extruder, to purge the extruder, or both. The extruder can be cleaned by moving the extruder to a cleaning station that includes one or more brushes or scrapers. The brushes or scrapers may be passive such that the extruder is moved across the brushes or scrapers to remove excess material. Alternately, the brushes or scrapers may be active (e.g., moving linearly or rotating) to contact the extruder to remove excess material. The cleaning station may also include a waste catcher to catch and retain the removed excess material away from the object being printed. The waste catcher may also be used to purge material from the extruder. For example, material may be purged from the extruder when changing from using a first material to using a second material. As another example, if the material being deposited is reactive (e.g., cures after being mixed or upon exposure to air) some or all of the material may be purged when the extruder is cleaned to avoid curing of the material in the extruder.

Different types of extruders may be used to deposit different types of materials (e.g., physically or chemically distinct materials). For example, a filament-fed extruder may be used to deposit thermoplastic polymers, such as polylactic acid (PLA), acrylonitrile butadiene styrene (ABS) polymers, and polyamide, among others. Paste extruders, such as pneumatic or syringe extruders, may be used to deposit materials that are flowable at room temperature (or at a temperature controlled by the 3D printer). Examples of materials that may be deposited using paste extruders include silicone polymers, polyurethane, epoxy polymers. Paste extruders may be especially useful to deposit materials that undergo curing upon exposure to air or when mixed together (such as multi-component epoxies).

Some 3D printers include multiple extruders to improve print speed or to enable printing with multiple different materials. For example, a first extruder may be used to deposit a first material, and a second extruder may be used to deposit second material. In this example, the first and second materials may have different visual, physical, electrical, chemical, mechanical, and/or other properties. To illustrate, the first material may have a first color, and the second material may have a second color. As another illustrative example, the first material may have first chemical characteristics (e.g., may be a thermoplastic polymer), and the second material may have a second chemical characteristics (e.g., may be a thermoset polymer). As yet another illustrative example, the first material may be substantially non-conductive, and the second material may be conductive. In this example, the first material may be used to form a structure or matrix, and the second material may be used to form conductive lines or electrical components (e.g., capacitors, resistors, inductors) of a circuit.

When a 3D printer uses multiple extruders to deposit multiple materials, one extruder may be idle (i.e., not extruding material) while another is depositing material. For example, while a first extruder is depositing a matrix material, a second extruder may be idle. Idle extruders may be particularly subject to clogging since flow of material through the extruder may reduce clogging. If the idle extruder becomes clogged, it can lead to reduced print quality as a result of clumps in material that is later deposited by the extruder.

Accordingly, to improve print quality, a print job may be periodically or occasionally interrupted to clean or purge an idle extruder. To illustrate, after a first extruder deposits a first portion of a first material to form part of a physical object, a second extruder (that was idle while the first extruder deposited the first portion of the first material) may be cleaned. Subsequently, the print job may be resumed. For example, the first extruder may deposit a second portion of the first material to form another part of a physical object. Alternately, the second extruder may deposit a second material, or a third extruder may deposit a third material.

In some implementations, the first extruder may also be cleaned while the print job is interrupted. For example, cleaning of the first extruder and of the second extruder may be scheduled so that both are cleaned when either one is to be cleaned.

In some implementations, cleaning operations may be encoded in the G-code or other machine instructions. For example, the slicer application may schedule cleaning operations for one extruder or for multiple extruders. In this example, the G-code or other machine instructions include a sequence of operations associated with printing the physical model (e.g., extrusion operations, extruder movement operations, etc.) and at least one cleaning operation is embedded with the sequence of operations associated with printing the physical model.

In other implementations, cleaning operations may be scheduled or implemented by the controller of the 3D printer. For example, the slicer application may provide G-code or other machine instructions that specify a sequence of operations associated with printing the physical model, and, during printing, the controller may interrupt execution of the sequence of operations to perform cleaning operations.

The cleaning operations may be performed based on an amount of material deposited. For example, the slicer application may determine a quantity of material that will be used to form a portion of the physical model, and the slicer application may insert a cleaning operation into the G-code or machine instructions when the quantity of material that will be used to form the portion satisfies a threshold. Alternately, the controller of the 3D printer may track the quantity of material that has been deposited and interrupt the printer to clean one or more extruders when the quantity of material that has been deposited satisfies a threshold. In other implementations, deposition time of an extruder, idle time of an extruder, or both may be determined or tracked to schedule cleaning operations.

Some materials begin curing (i.e., solidifying) upon exposure to air or upon mixing. For example, two-part epoxies include an epoxy resin and a hardening agent. After the epoxy resin and the hardening agent are mixed, the mixture begins to cure. When a 3D printer uses such materials, one or more extruders of the 3D printer may be cleaned or purged based on a time since mixing the materials (or a time since the materials were exposed to air). For example, if a material that cures after mixing is to be used, the slicer application may generate G-code (or other machine instructions) for mixing the materials. In this example, the slicer application may cause the materials to be mixed based on when the mixture will be needed during printing of the physical model. Additionally, the slicer application may track (e.g., by summing deposition time of all extruders of the 3D printer) when to schedule a cleaning operation or a purging operation to prevent the mixture from curing in the extruder. In another example, the G-code (or other machine instructions) include instructions for mixing the materials, and the controller of the 3D printer determines (e.g., based on a timer) when to schedule a cleaning operation or a purging operation to prevent the mixture from curing in the extruder.

The arrangement of the pattern of materials to be deposited to form each layer may be of particular concern for certain materials. For example, certain materials have a tendency to form blobs or other irregularly shaped deposits (sometimes referred to as “kisses”) at the start of a line, the end of a line, or both. A kiss can cause an issue with layer stacking if a portion of the kiss extends above the layer on which it is deposited. A kiss can also, or in the alternative, cause an issue with line arrangement with the layer being printed if the kiss extends beyond the width of its line into an area associated with another line.

Slicing the 3D model in a manner that reduces line starts and stops can reduce the number of kisses in a physical model. The number of line starts and stops can be reduced by configuring the slicer application to use as few lines as possible (or as few lines as practical in view of other settings or goals) for each layer. For example, when a line extends to an edge of the layer, rather than ending the line, lifting the extruder head and moving to a new location for the next line, the slicer application may instruct the 3D printer to turn the line (e.g., in a U-turn) to continue the line in another direction.

The number of line starts and stops can also be reduced by extending lines between layers. For example, when a first layer is complete, rather than ending the line and lifting the extruder head to begin printing the next layer, the line may be extended to overlay a portion of the first layer to immediately begin printing a portion of the second layer. To illustrate, if the first layer is in a horizontal plane, the material forming the line may be deposited to form a vertical or oblique riser up to a plane of the second layer.

As another example, a first portion of a physical model may be formed by stacking multiple layers of material (e.g., a base layer and one or more additional layers at least partially overlaying the base layer) before moving the extruder head to a different location to form another portion of the base layer. In this example, the multiple layers may be stacked using a single continuous deposition step (e.g., with one start and one stop).

Another method that may be used to reduce kisses is to perform additional steps at the end of a line. For example, when a line ends, rather than ceasing extruder flow and lifting the extruder head, the extruder head may be caused to move backward (e.g., in a direction back along the line that was just deposited) as the extruder flow is stopped, as the extruder head is lifted, or both. Alternately, the extruder flow can be ceased before the line end is reached. After the extruder reaches the line end, the extruder head can be lifted and moved back along the line. By causing the extruder head to backtrack along the line with flow stopped or as flow stops, potential kiss at the line end can be smoothed out.

Yet another method that may be used to reduce kisses is to control extruder flow in a manner that accounts for acceleration of the extruder head. For example, pressure applied to the material being deposited, temperature of the material, filament feed rate, or a combination thereof, may be used to control a flow rate of material from the extruder. The G-code (or other machine instructions) may include settings for the temperature, the pressure, the filament feed rate, or a combination thereof. Additionally, the G-code (or other machine instructions) may include information indicating a velocity (e.g., speed and direction of travel) for movement of the extruder head during deposition. At the beginning of a line, the extruder head is not able to instantaneously achieve the indicated velocity. Rather, due to inertia and/or settings of the 3D printer, the extruder head velocity gradually increases to the indicated velocity. During this acceleration from a starting velocity to the indicated velocity, if the same extruder flow rate is used as is used when the extruder is at the indicated velocity, more material will be deposited at the beginning of the line than in the remainder of the line. A similar issue arises at the end of the line. That is, when the extruder approaches the end of a line, the extruder is not able to decelerate from the indicated velocity to an ending velocity (e.g., stopped) instantaneously. Rather, the extruder head velocity gradually decreases to the ending velocity. During this deceleration (i.e., negative acceleration), if the same extruder flow rate is used as is used when the extruder is at the indicated velocity, more material will be deposited at the end of the line than in the remainder of the line. Accordingly, kisses or other line irregularities can be reduced by controlling the flow rate of the extruder based on an acceleration rate of the extruder.

FIG. 1 illustrates a particular embodiment of a system 100 that includes a 3D printer device 101 and a computing device 102. The 3D printer device 101 and the computing device 102 may be coupled via a communications bus 160, which may include a wired or wireless communications interface. The 3D printer device 101 is configured to generate physical models of objects based on a 3D model or commands based on model data.

In a particular embodiment, the computing device 102 includes a processor 103 and a memory 104. The computing device 102 may include a 3D modeling application 106. The 3D modeling application 106 may enable generation of 3D models, which can be used to generate model data 107 descriptive of the 3D models. For example, the 3D modeling application 106 may include a computer-aided design application.

The computing device 102 or the 3D printer device 101 includes a slicer application 108. The slicer application 108 may be configured to process the model data 107 to generate commands 109 that the 3D printer device 101 (or portions thereof) uses during generation of a physical model of an object represented by the model data 107. In the particular embodiment illustrated in FIG. 1, the commands 109 may include G-code commands or other machine instructions that are executable by the 3D printer device 101 (or a portion thereof). The computing device 102 may also include a communications interface 105 that may be coupled via the communication bus 160 to the 3D printer device 101. For example, the 3D printer device 101 may be a peripheral device that is coupled via a communication port to the computing device 102.

The 3D printer device 101 includes a frame 110 and support members 111 arranged to support various components at the 3D printer device 101. In particular embodiments, the 3D printer device 101 may include a deposition platform 112. In other embodiments, the 3D printer device 101 does not include a deposition platform 112 and another substrate or surface may be used for deposition. The 3D printer device 101 also includes one or more printheads. For example, in the embodiment illustrated in FIG. 1, the 3D printer device 101 includes a first printhead 113, a second printhead 114, and an Nth printhead 115. Although three particular printheads are illustrated in FIG. 1, in other embodiments, the 3D printer device 101 may include more than three printheads or fewer than three printheads. Each printhead 113-115 includes a corresponding extruder with an extruder tip. For example, the first printhead 113 includes a first extruder 130 having a first extruder tip 131, the second printhead 114 includes a second extruder 132 having a second extruder tip 133, and the Nth printhead 115 includes an Nth extruder 134 including an Nth extruder tip 135.

Each printhead 113-115 is coupled to receive a material that may be deposited to form a portion of a physical model of an object. For example, the first printhead 113 may be coupled to a first material container 119 that includes a first material 120. As another example, the second printhead 114 may be coupled to a second material container 121 that includes a second material 122. The Nth printhead 115 may be coupled to a mixer 127. The mixer 127 may be coupled to a first component container 123 and a second component container 125. The first component container 123 may be configured to retain a first component 124, such as a resin. In this example, the second container 125 may be configured to contain a second component 126, such as a hardening agent. In the example illustrated in FIG. 1, the first component container 123 and the second component container 125 are coupled to the mixer 127 to enable the mixer 127 to generate a mixture 128 that includes a portion of the first component 124 and a portion of the second component 126. The first component 124 and the second component 126 may be selected to begin hardening upon mixing. Thus, the mixture 128 may begin curing as soon as the mixer 127 has mixed the components.

Proportions of the components 124, 126 supplied to the mixer 127 may be controlled by a controller 141 of the 3D printer device 101. The controller 141 may also, or in the alternative, control one or more actuators 143 to move the deposition platform 112 relative to the printheads 113-115, to move the printheads 113-115 relative to the deposition platform 112, or both. For example, in a particular configuration, the deposition platform 112 may be configured to move in a Z direction 140. In this example, the printheads 113-115 may be configured to move in an X direction 138 and a Y direction 139 relative to the deposition platform 112. Thus, movement of one or more printheads 113-115 relative to the deposition platform 112 may involve movement of the deposition platform 112, movement of one or more of the printheads 113-115, or movement of both the deposition platform 112 and the printheads 113-115. In other examples, the deposition platform 112 may be stationary and one or more of the printheads 113-115 may be moved. In yet other examples, the one or more printheads 113-115 may be stationary and the deposition platform 112 may be moved.

The 3D printer device 101 of FIG. 1 also includes one or more cleaning stations 136, one or more purging stations 137, or both. The cleaning stations 136 may be configured to clean one or more extruder tips, such as the first extruder tip 131, the second extruder tip 133, the Nth extruder tip 135, or a combination thereof. In the examples illustrated herein, each extruder tip 131, 133, 135 may be associated with a corresponding cleaning station, as described further below. However, in other examples, one cleaning station may be used for multiple extruder tips 131, 133, 135. The cleaning station 136 may include a scraper, brushes, or other devices that are used to remove particulate or other foreign matter from the extruder tips 131, 133, 135. In some examples, the cleaning station 136 may be movable relative to the frame 110 or printheads 113-115. For example, the cleaning station 136 may move to the printheads 113-115 to clean the corresponding extruder tip rather than the printheads 113-115 moving to the cleaning station 136.

The purging station 137 may be configured to receive a material from one or more of the printheads 113-115 in order to purge an extruder of the printhead 113-115. For example, the mixture 128 may begin to cure upon mixing. Accordingly, the mixture 128, or a portion thereof, may be purged occasionally to avoid curing of the mixture 128 within the extruder 134 or within the mixer 127. As an example, when the Nth extruder 134 is purged, the Nth printhead 115 may be moved adjacent to or over the purge station 137, and at least a portion of the mixture 128 may be extruded by the extruder 134 into the purge station 137. The purge station 137 may be configured to be removable or replaceable such that after the mixture 128 cures in the purge station 137, the cured mixture 128 can be removed without damaging components of the 3D printer device 101. Other materials used by other extruders may be deposited in the purge station 137 occasionally. For example, the second material 122 may include a paste that begins to cure upon exposure to air. In this example, the second extruder 132 may be purged at the purge station 137 occasionally to avoid clogging the second extruder tip 133, the second extruder 132, or both. Further, the first material 120 may include a filament or other thermoplastic polymer, and the first material 120 may be occasionally purged at the purge station 137 in order to retain desirable properties of the filament, to avoid clogging the extruder 130, or both. When a printhead 113-115 is purged at the purge station 137, the printhead 113-115 may also be cleaned at the cleaning station 136 to prepare the printhead 113-115 for use.

The 3D printer device 101 may also include a memory 142 accessible to the controller 141. The controller 141 may include or have access to one or more timers 144, one or more material counters 145, or both. The material counters 145 may track a quantity of materials in the material containers 119, 121, 123, 125, a quantity of material in the mixer 127, a quantity of each material deposited to form a physical model of an object, etc. For example, during formation of a first physical model (or a portion of the first physical model), the first material 120 may be deposited by the first printhead 113. During formation of the first physical model, the material counter 145 may track a quantity of the first material 120 that has been deposited. The material counter 145 may also, or in the alternative, track a quantity of material remaining. To illustrate, during formation of the first physical model, while the first material 120 is being deposited, the material counter 145 may track a quantity of the first material 120 that remains in the first material container 119. As another example, when the mixture 128 is deposited to form a portion of the physical model, the material counter 145 may track a quantity of the mixture 128 remaining in the mixer 127. When the quantity of material remaining in the mixer 127 is below a threshold, the controller 141 may cause the mixture 128 to be purged at the purge station 137 and may cause the first component container 123 and the second component container 125 to provide the first component 124 and the second component 126, respectively, to the mixer 127 to generate a new mixture 128. Alternatively, portions of the first component 124 and the second component 126 may be added to an existing mixture 128 in the mixer 127.

The timers 144 may track an amount of time associated with particular activities of the 3D printer device 101. For example, a first timer of the timers 144 may track a time since mixing the mixture 128. The time since mixing the mixture 128 may be used to determine when to purge the mixture 128. For example, the mixture 128 may be purged before a cure time associated with the mixture 128 is reached. The timers 144 may also, or in the alternatively, track how long a particular printhead 113-115 has been idle. For example, during deposition of the first material 120 to form a portion of a physical model, the second material 122 may sit idle in the second printhead 114 or in the second material container 121. Since the second material 122 may begin to cure upon exposure to air, the portion of the second material 122 exposed at the second extruder tip 133 may begin to cure, potentially causing a clog. Accordingly, based on the timers 144 indicating that the second printhead 114 has been sitting idle for a threshold amount of time, a print activity being performed by the 3D printer device 101 may be interrupted to move the second printhead 114 to the cleaning station 136, the purging station 137, or both, to remove a portion of the second material 122 from the second extruder 132 to avoid clogging the second extruder 132.

As another example, the timers 144 may indicate how long a particular extruder has been in use. For example, when the first extruder 130 is being used to deposit a portion of material corresponding to a physical object, the first extruder 130 may be cleaned periodically to remove excess material that occasionally aggregates around the first extruder tip 131. Thus, based upon the timers 144, a 3D printing operation being performed by the 3D printer device 101 may be interrupted, and the first extruder 130 may be moved to the cleaning station 136, to the purging station 137, or both, to clean the first extruder tip 131.

After cleaning of a particular extruder has been performed, the 3D printing operations may resume where they left off. For example, when the first extruder 130 was being used to form a portion of a physical model, and the timer 144 or the material counter 145 indicated cleaning was needed, the print activity may be interrupted, the first extruder 130 may be cleaned, purged or both, and then the printing activity may resume with the first extruder 130 depositing the first material to form a second portion of the physical object. Alternatively, cleaning operations may be scheduled based on the timers 144, the material counter 145, or both, such that the cleaning and/or purging operations occurs between uses of particular extruders. For example, while the first extruder 130 is in use to form a first portion of a physical model, the timers 144, the material counters 145, or both, may reach a value indicating that cleaning is needed. After the first operations being performed by the first extruder 130 is complete (e.g., when an end point associated with the first extruder 130 is reached), the cleaning operation may be performed. The cleaning operation may include cleaning and/or purging the first extruder 130, the second extruder 132, the Nth extruder, or a combination thereof. After the cleaning operation has been performed, printing operations may resume, for example, with the second extruder depositing the second material 122 to form a second portion of the 3D model of the physical object.

In a particular embodiment, the memory 142 includes cleaning and purging control instructions 147. The cleaning and purging control instructions 147 may include instructions (e.g., a cleaning sequence of instructions, a purging sequence of instructions, or both) that facilitate cleaning and purging of the printheads 113-115. For example, when the controller 141 determines that a cleaning operation is to be performed, the controller 141 may interrupt operations being performed at the 3D printer device 101 and execute the cleaning sequence of instructions of the cleaning and purging control instructions 147. As another example, when the controller 141 determines that a purging operation is to be performed, the controller 141 may interrupt operations being performed at the 3D printer device 101 and execute the purging sequence of instructions of the cleaning and purging control instructions 147.

In some implementations, the cleaning and purging control instructions 147 may include thresholds associated with the timers 144, thresholds associated with the material counters 145, or both. To illustrate, the thresholds may include a cure time associated with the mixture 128 or a threshold time that precedes the cure time at which the mixture 128 is to be purged and/or cleaned. As another example, the thresholds may include a downtime limit associated with one or more of the printheads 113-115. The downtime limit may be used to determine whether one or more of the printheads 113-115 should be cleaned based on a downtime of the particular printhead. As another example, the thresholds may include use time thresholds associated with the particular printhead 113-115. The use time thresholds may indicate how long a particular printhead 113-115 can be in use before cleaning and/or purging of the particular printhead 113-115 is needed. As another example, the thresholds may include material quantity thresholds that indicate how much material a particular printhead 113-115 can deposit before cleaning and/or purging of the particular printhead 113-115 is needed. In some implementations, the thresholds may be stored as part of the settings 150.

The cleaning and purging control instructions 147 may also include instructions that cause more than one printhead to be cleaned at a time. For example, when the timers 144 or the material counters 145 indicates that the first printhead 113 is to be cleaned, the cleaning and control instructions 147 may also cause the second printhead 114, the Nth printhead 115, or both, to be cleaned, so that multiple cleaning operations are performed concurrently or sequentially to reduce interruption to print operations.

The memory 142 may also include calibration data 148. The calibration data 148 may include information that indicates relative positions of the printheads 113-115. In the particular example illustrated in FIG. 1, the printheads 113-115 may be independently movable by corresponding actuators 143 or may be movable together by one or more actuators 143. The calibration data 148 may indicate distances between printheads 113-115, extruder tips 131, 133, 135, or both. Additionally, or in the alternative, the calibration data 148 may include information about ramp up speeds associated with the actuators 143. For example, the ramp up speeds may indicate how quickly a particular printhead 113-115 can accelerate from stopped to a specified velocity. As another example, the calibration data 148 may include extrusion rates or deposition rates associated with one or more of the printheads 113-115 based on particular control parameters, such as temperature of the extruder or extruder tip, pressure applied to the extruder or extruder tip, a type of material being deposited, a material feed rate, or a combination thereof. For example, the calibration data 148 may include rheology data based on temperature associated with the first material 120, the second material 122, or the mixture 128. As another example, the calibration data 148 may include rheology data associated with the mixture 128 over time.

The memory 142 may also include test print data 151. The test print data 151 may be used to generate at least a portion of the calibration data 148. For example, the test print data 151 may include commands to generate one or more test print objects using multiple of the printheads 113-115. Positions, orientations, and other information about the test print objects may be measured after a test print is performed and the measurements may be used to adjust the calibration data 148. For example, the 3D printer device 101 may include a measurement device, such as a scanning device (not shown), that automatically measures the test print objects. Alternately, the test print objects may be manually measured and updated calibration data may be provided via a user interface (not shown) or via the computing device 102.

The memory 142 may also include end-of-line-technique instructions 149. The end-of-line-technique instructions 149 include instructions that enable formation of line ends having a target width without undesired characteristics, such as bulges and blobs. Examples of end-of-line techniques are described further with reference to FIGS. 2A-2C and 3A-3B. The end-of-line-technique instructions 149 may be applied to commands provided by an external computing device, such as the computing device 102, in order to improve line ends associated with physical models printed by the 3D printer device 101. The end-of-line technique instructions 149 may include instructions to implement the technique described with reference to FIG. 2C, instructions to implement the technique described with reference to FIG. 3B, other end-of-line techniques, or a combination thereof.

Accordingly, the 3D printer device 101 enables use of multiple printheads 113-115 with multiple distinct materials, such as the first material 120, the second material 122, the mixture 128, or a combination thereof, to form physical models of 3D objects corresponding to model data 107. The 3D printer device 101 is able to improve printing outcomes by controlling cleaning and purging of the printheads 113-115 and by using improved end-of-line techniques.

FIGS. 2A-2C illustrate use of end-of-line deposition techniques. In FIG. 2A, an extruder 202 is illustrated depositing a material 204 on a substrate, such as the deposition platform 112. As the material 204 is extruded from the extruder 202, the tip of the extruder 202 travels relative to the deposition platform 112 in a direction 206.

In FIG. 2B, an end of a line being deposited is reached. Using a conventional deposition technique, the extruder 202 ceases extruding the material when the end of the line is reached. The extruder 202 is subsequently moved in a direction 208 away from the deposition platform 112. Because of residual pressure, a small quantity of the material 204 may accumulate at the line end causing a blob 210. Thus, use of the conventional deposition technique illustrated in FIG. 2B may result in undesirable line characteristics, such as the blob 210, which can lead to problems with adhesion of subsequent layers and deformation of the physical model.

FIG. 2C illustrates use of an improved end-of-line deposition technique. In FIG. 2C, when an end of the line 214 is reached, the tip of the extruder 202 is moved in a direction 212, which is back along the line that was just deposited and away from the deposition platform 112. An extrusion rate of the extruder 202 is reduced when the end of the line 214 is reach, before the end of the line 214 is reached, or concurrently with movement of the tip of the extruder 202 in the direction 212. As the tip of the extruder 202 is moved backward along the line and away from the deposition platform 112, any excess material extruded by the tip of the extruder 202 may be spread more evenly along the end of the line 214, resulting in a line with desirable end-of-line qualities. In particular, the line does not terminate in a blob, such as the blob 210. The improved end-of-line deposition technique illustrated in FIG. 2C may be performed by a 3D printing device, such as the 3D printer device 101 of FIG. 1, based on the end-of-line-technique instructions 149. The tip of the extruder 202 illustrated in FIGS. 2A-2C may correspond to any of the extruder tips 131, 133, 135 of the 3D printer device 101 of FIG. 1.

FIGS. 3A and 3B illustrate end-of-line techniques that may be used by a 3D printing device, such as the 3D printer device 101 of FIG. 1. In a particular embodiment, the end-of-line technique illustrated in FIG. 3B may be used by the 3D printer device 101 of FIG. 1 based on the end-of-line techniques instructions 149.

FIG. 3A illustrates a conventional end-of-line technique. In FIG. 3A, a graph 300 illustrates velocity of a printhead relative to a deposition substrate, such as the deposition platform 112. The graph 300 also indicates an extrusion rate of an extruder of the printhead. The extrusion rate may include a mass flow rate or an end-of-line flow rate. Alternatively, the extrusion rate may correspond to a control parameter that is directly or inversely related to the mass or volumetric flow rate, such as a pressure applied to the extruder, a material feed rate, extruder temperature, and so forth.

In the example illustrated in FIG. 3A, the graph 300 shows that when the extruder begins to move, the extrusion rate is adjusted to a desired extrusion rate value. Thus, the extrusion rate jumps immediately or nearly immediately to the desired extrusion rate while the extruder gradually accelerates to reach a desired movement rate or velocity. Thus, in the graph 300, there is initially a large gap between the extrusion rate and the velocity of the extruder. The gap reduces as the extruder accelerates, and eventually, the gap remains a relatively constant.

As a result of the initial gap, a larger quantity of material is deposited at the beginning of the line 304 than at other portions of the line 304, resulting in a blob 306 at the beginning of the line 304. The blob 306 has a blob width 310 that is significantly wider than a target line width 308 of the line 304. The blob 306 results from a difference between the amount of time for the extruder to reach a desired velocity (e.g., an acceleration rate of the extruder) and the amount of time for the extrusion rate to reach a desired extrusion rate. For example, when the extruder is a pasted extruder, pressure applied to a plunger of the extruder results in virtually immediate extrusion at the desired rate. In contrast, inertia and mechanical limitations limit a rate at which the extruder can accelerate.

FIG. 3B illustrates an improved end-of-line technique in which the extrusion rate is ramped as the velocity of the extruder ramps. For example, as illustrated in a graph 320, the extrusion rate (or a control parameter related to the extrusion rate) may be gradually increased based on the acceleration rate of the extruder. Accordingly, there is no large gap of the beginning of the line between the velocity of the extruder and the extrusion rate.

A line 324 formed using the end-of-line technique illustrated by the graph 320 is also illustrated in FIG. 3B. The line 324 has a line end 326 having a width approximately the same as the target line width 308. In order to perform the improved end-of-line technique of FIG. 3B, the end-of-line-technique instructions 149 may access the settings 150 to determine information about the acceleration and extrusion rate of a particular printhead. Additionally, although FIGS. 3A and 3B only illustrate a beginning of a line, similar end-of-line techniques may be performed at a termination point of a line. For example, although FIG. 3B illustrates a relationship between the acceleration rate of an extruder and an extrusion rate of the extruder, a similar relationship occurs when the extruder slows down when the end of a line being deposited is reached. Accordingly, the extrusion rate of the extruder may be gradually decreased as the extruder slows down to avoid forming a blob at the end of the line.

FIG. 4 illustrates multiple steps associated with generating commands 109, such as G-code instructions, based on a 3D model of an object. In FIG. 4, a 3D model 400 is illustrated as an example of various features disclosed herein. In operation, other 3D models, including 3D models having different shapes, different materials, etc. may be used. The 3D model 400 may include or be based on model data 107 of FIG. 1. In FIG. 4, the 3D model 400 is formed of multiple materials, including the first material 120 and the second material 122. In the example illustrated in FIG. 4, the first material 120 is used as a matrix material, and the second material 122 is used as a filler material.

After obtaining the 3D model 400 or the model data 107, a slicer application, such as the slicer application 108, may perform slicing operations to generate the commands 109. In the example illustrated in FIG. 4, preliminary slicing is performed to generate a sliced model 402. The sliced model 402 includes multiple slices 404, 406, only two of which are illustrated. Each slice 404, 406 represents a single layer of a physical model based on the 3D model. Each layer of the physical model includes one or more materials. Accordingly, each slice 404, 406 may be divided into regions, with each region corresponding to a particular material. For example, the slice 404 includes a first region corresponding to a portion of the first material 120 and a second region corresponding to a portion of the second material 122. The slice 406 includes a first region corresponding to a portion of the first material 120 and a second region in which no material is present.

After the sliced model 402 is generated, the slicer application 108 may modify one or more of the slices based on characteristics of the 3D printer device to be used to print the physical model of the 3D model 400. For example, the slicer application 108 may access the settings 150, the calibration data 148, or both, associated with the 3D printer device 101 of FIG. 1. Alternately, the settings 150, the calibration data 148, or both, may be accessible at the memory 104 of the computing device 102 of FIG. 1.

In the example illustrated in FIG. 4, the slice 414 is modified relative to the slice 404 of the sliced model 402. For example, in the slice 414, a larger second region associated with the second material has been provided. The second region of the slice 414 may be determined based on dimensions associated with an extruder that deposits the second material. To illustrate, a size of the second region of the slice 414 may be determined based on a size of second extruder tip 133. For example, in order to improve interlayer adhesion and/or printing characteristics, the slicer application 108 may determine that, when the physical model is printed, a portion of the second material 122 will be embedded within the physical model (e.g., entirely enclosed by the first material). Accordingly, the slicer application may determine that an injection technique may be used to deposit at least the embedded portion of the second material. The injection technique may inject the second material into a tunnel formed by void regions in multiple layers of the first material (rather than depositing multiple layers of the second material, with one layer corresponding to one slice of the sliced model 402).

For example, the slicer application may be configured to generate commands that favor printing one material at a time, and then print with a different material. To illustrate, a first material may be used to form multiple layers corresponding to a set of slices. Even when the slices include regions corresponding to a second material, the slicer application may arrange the commands so that all of the regions that use the first material are printed first. Subsequently, regions that use the second material may be printed, such as by printing on a non-planar surface formed by the first material or by injecting the second material into tunnels or voids defined in the first material. When the first material encloses the second material, the first material may be deposited until just before the access to a region that is ton include the second material is closed off, then the second material may be deposited, as illustrated in FIGS. 10-13.

As illustrated in FIG. 4, the slicer application may modify some slices to enable using injection techniques. The modified slices may improve printing using injection technique by, for example, widening the area 412 to enable the second extruder tip 133 to fit within the opening correspondent to the area 412.

Modifying the slices results in a modified sliced model 410, which may be further processed. For example, when a slice, such as the slice 414, includes an enclosed void region 418, the slicer application may process that slice 414 as multiple separate or coupled polygons to limit or reduce starting and stopping a deposition process. During formation of a physical model corresponding to the 3D model 400, the void region 418 may eventually be filled with the second material 122. However, during deposition of the first material 120, the void region 418 remains empty. The slicer application 108 may process the slice 414 to generate multiple polygons, such as a first polygon 420, a second polygon 422, a third polygon 424, and a fourth polygon 426. The multiple polygons 420-426 may be generated and arranged such that the void region 418 is surrounded by the polygons 420-426, each polygon 420-426 is adjacent to the void region 418, and no polygon 420-426 includes an internal void region. Thus, each polygon 420-426 may be continuous (without spaces, openings, or holes), so that each polygon 420-426 can be printed using continuous lines thereby limiting starting and stopping a corresponding printhead.

The second slice 406 may also be processed further. For example, the second slice 406 includes multiple regions of the first material 120 and a large gap region in which no material is deposited. In this case, the slicer application 108 may identify and separate the regions to generate separate stacks 430 and 432. Each separate stack 430, 432 may be treated as a separate layer for purposes of generating a tool path. For example, a tool path 434 may be generated for the first stack 430, and a tool path 436 may be generated for the second stack 432. Although not illustrated in FIG. 4, tool paths may also be generated for the polygons 420-426 and other slices of the modified sliced model 410. The tool paths associated with all of the slices and materials together are illustrated in FIG. 4 as a sliced and tool pathed model 440. The sliced and tool pathed model 440 may be processed to generate the commands 109.

In a particular embodiment, tool paths for multiple slices of the sliced and tool pathed model 440 may be determined such that a continuous line of material extends between multiple layers. For example, as further described in FIG. 5, a tool path for multiple layers of a single material may be generated such that a line of material of a first layer extends a second layer, where the second layer is stacked on the first layer.

Additionally, in some embodiments, one material may be deposited on a nonplanar surface formed by another material. For example, the slicer application may generate a tool path for depositing the second material that extends across multiple layers of the first material, as illustrated in FIG. 14.

Further, as described above and with reference to FIGS. 10-13, one material may be injection-molded within another material. For example, the sliced and tool pathed model 440 is arranged such that a portion of the second material 122 is injected within cavities defined within the first material 120.

Thus, FIG. 4 illustrates operations that can be formed by a slicer application, such as the slicer application 108, to improve printer performance, to improve interlayer adhesion, to reduce starting and stopping of printing with a particular printhead (e.g., within a particular layer as well as in between layers). The commands 109 or G-code may be provided to a 3D printing device, such as the 3D printer device 101 of FIG. 1, to generate a physical model of the 3D model 400.

FIGS. 5-14 illustrate particular aspects of forming a physical object based on a 3D model. In the examples illustrated in FIGS. 5-14, particular aspects of the 3D model 400 is used as examples. For example, the commands 109 may be executed by the 3D printer device of 101 of FIG. 1 to build a physical model of the 3D model 400.

FIG. 5 illustrates an extruder 502 coupled to a support member 111 and to a drive belt 510. The extruder 502 may include, correspond to, or be included within one of the extruder 130, 132, 134 of FIG. 1. Although the examples illustrated in FIGS. 5-14 include a drive belt 510 coupled to an actuator (not shown), in other examples, the extruder 502 may be coupled to other actuators or devices to move the extruder 502 relative to the deposition platform 112. Alternately, the deposition platform 112 may be moved relative to the extruder 502.

In the example illustrated in FIG. 5, during a first stage of formation of the physical model, the extruder 502 is moved in a direction 506 to form a portion of a first stack 504. The portion of the first stack 504 may correspond to the first stack 430 of FIG. 4. FIGS. 5-14 are illustrated from a front view, however, as illustrated more clearly by the tool path 434 of the first stack 430 of FIG. 4, the first stack 504 may include multiple lines or rows of material per layer. In FIG. 5, the first stack 504 may be arranged such that a line extends from a first layer onto a second layer, where the second layer is stacked on the first layer. Thus, in FIG. 5, a portion of the extruded material is stacked at 508. Stacking the material, as illustrated at 508, may facilitate interlayered adhesion between layers of the first stack 504.

FIG. 6 illustrates a second stage during formation of the physical model. The second stage may be subsequent to the first stage. In FIG. 6, the extruder 502 is moved in a U-turn or curve 512 in order to follow a tool path, such as the tool path 434 illustrated in FIG. 4, to complete the stack 504. The tool path may enable using a single continuous line of extruded material to form multiple rows of material in a layer.

FIG. 7 illustrates a third stage during formation of the physical model. The third stage may be subsequent to the second stage. In FIG. 7, the first stack 504 has been completed to a height (i.e., second height 522) determined based on characteristics of the 3D printer device being used. The second height 522 may be selected by the slicer application described with reference to FIG. 4, by the computing device 102, or by the controller 141 of the 3D printer device 101. The second height 522 is less than a distance (e.g., first height 520) between the tip of the extruder 502 and the support member 111 coupled to the extruder 502. For example, the second height 522 may be less than the first height 520 by an amount that is less than a thickness of one layer of the first stack (or by an amount that is less than two layers of the first stack 504) to provide clearance for depositing another stack (such as the second stack 514). Thus, the extruder 502 may be able to deposit abase layer of the second stack 514 on the deposition platform 112 without the first stack 504 coming in contact with the support member 111.

FIG. 8 illustrates a fourth stage during formation of the physical model. The fourth stage may be subsequent to the third stage. In FIG. 8, additional components of the 3D printing device are illustrated. For example, members 820 and 822 of a frame are illustrated coupled to the support member 111. An extruder 802 is also illustrated. For example, the extruder 502 may include or correspond to the first printhead 113 (or the first extruder 130), and the extruder 802 may include or correspond to the second printhead 114 (or the second extruder 132) or to the Nth printhead 115 (or the Nth extruder 134).

In the example illustrated in FIG. 8, the extruder 502 is a filament extruder configured to extrude a filament 810 that is feed to the extruder 502 by drive members 812. A tip of the extruder 502 may be heated to melt the filament 810 for deposition. Further, in the example illustrated in FIG. 8, the extruder 802 is a syringe extruder that includes a plunger 804 coupled to a drive 806. The drive 806 may include a pneumatic drive (e.g., a pressure regulator and/or valve) or a mechanical drive. The drive 806 applies pressure to the plunger 804 to cause a second material 808, to be extruded. The second material may include a paste or a viscous liquid.

Additionally, the 3D printing device illustrated in FIG. 8 includes multiple cleaning stations, including a first cleaning station 824 and a second cleaning station 826. The 3D printing device in FIG. 8 also includes multiple purging stations, including a first purging station 828 and a second purging station 830. In the example illustrated in FIG. 8, the first stack 504 and the second stack 514 have been printed as described with reference to FIGS. 5-7. Additional layers 814 of the first material have also been deposited, such that an opening 816 is provided in a top portion of a partial physical model 801.

FIG. 9 illustrates a fifth stage during formation of the physical model. The fifth stage may be subsequent to the fourth stage. FIG. 9 illustrates cleaning the extruder 502. For example, the extruder 502 may be moved to the first cleaning station 824 to clean a tip of the extruder 502, e.g., to remove a clump 832 of the filament 810 that is coupled to a tip of the extruder 502. During cleaning, the first cleaning station 824 may be used to scrape the extruder tip to remove the clump 832.

In FIG. 9, the extruder 502 may be cleaned based on a determination that a deposition operation associated with the extruder 502 is complete. That is, as many layers of the first material as can be deposited without beginning to close of the opening 816 have been formed. Alternatively, the extruder 502 may be cleaned based on a time associated with forming the partial physical model 801 or on a quantity of material deposited to form the partial physical model 801.

FIG. 10 illustrates a sixth stage during formation of the physical model. The sixth stage may be subsequent to the fifth stage, prior to the fifth stage, or concurrent with the fifth stage. In FIG. 10, the extruder 802 may be cleaned, purged, or both. In the arrangement illustrated in FIGS. 8-14, the extruders 502 and 802 cannot be cleaned at the same time; however, in other arrangements, cleansing stations may be arranged to allow cleaning multiple extruders concurrently or simultaneously.

In a particular example, while the extruder 502 deposits the material to form the partial physical model 801, the second material 808 may sitting unused in the extruder 802. Accordingly, as illustrated in FIG. 10, a portion 834 of the second material 808 may be purged into the second purge station 830 and a tip of the extruder 802 may be cleaned using the second cleaning station 826 before deposition using the second material begins. In other examples, the extruder 802 may be coupled to a mixer, such as the mixer 127, the extruder 802 may be cleaned based on a cure time associated with the mixture. In yet other examples, the extruder 802 may not need to be cleaned after formation of the partial physical model 801 and the sixth stage illustrated in FIG. 10 may be omitted.

FIG. 11 illustrates a seventh stage during formation of the physical model. The seventh stage may be subsequent to the fifth stage, subsequent to the sixth stage, or both. In FIG. 11, the extruder 802 is used to deposit a portion of the second material 808 into the opening 816 defined in the first material. The second material 808 may be injected into the opening 816. As illustrated in FIG. 11, the opening 816 is sufficiently wide to accommodate a tip of the extruder 802. In some examples, as illustrated and discussed in FIG. 4, the opening 816 may be adjusted relative to an original 3D model, such as the 3D model 400, in order to accommodate the tip of the extruder 802, as described in the modifying slices step of FIG. 4.

FIG. 12 illustrates an eighth stage during formation of the physical model. The eighth stage may be subsequent to the seventh stage. In FIG. 12, the second material 808 has been deposited in the partial physical model 801 to form a partial physical model 803 that includes the partial physical model 801 formed of the first material and filler 844 formed of the second material 808. Additionally, the extruder 802 has been moved to the second cleaning station 826 to be cleaned, purged, or both. For example, after deposition of the filler 844, a clot 842 may be formed at the tip of the extruder 802, which may be cleaned and removed at the second cleaning station 826. As another example, the extruder 802 may be cleaned based on a quantity of the second material 808 deposited to form the filler 844 satisfying a threshold. As another example, the extruder 802 may be cleaned based on a time to deposit the second material 808 satisfying a threshold. As yet another example, the extruder 802 may be cleaned based on a cure time associated with the second material 808. Although not illustrated in FIG. 12, the extruder 802 may also be purged during, before, or after the eighth stage. Similarly, the extruder 502 may be cleaned, purged, or both, during, before, or after the eighth stage.

FIG. 13 illustrates a ninth stage during formation of the physical model. The ninth stage may be subsequent to the eighth stage. In FIG. 13, after formation of the partial physical model 803, a portion 850 of the first material 810 may be deposited to cover the filler 844 and to form a partial physical model 805 having non-planar surface 852.

FIG. 14 illustrates a tenth stage during formation of the physical model. The tenth stage may be subsequent to the ninth stage. In FIG. 14, a portion 854 of the second material 808 is deposited on the non-planar surface 852. The extruder 802 may follow a curvilinear tool path 856 to deposit the portion 854 on the non-planar surface 852. Deposition of the portion 854 completes formation of a physical model 807 corresponding to the 3D model 400 of FIG. 4.

FIG. 15 is a flowchart of a particular embodiment of a method 1500 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 1500 may be performed by the controller 141 of the 3D printer device executing instructions from the memory 142. As another example, the method 1500 may be performed by the processor 103 of the computing device 102 executing instructions from the memory 104.

The method 1500 includes, at 1502, obtaining model data representing a three-dimensional (3D) model of an object. For example, the processor 103 of FIG. 1 may obtain the model data 107 by reading the model data 107 from the memory 104. As another example, the controller 141 may obtain the model data 107 by receiving the model data 107 via the communication interface 146.

The method 1500 includes, at 1504, processing the model data to generate a set of commands to direct a 3D printer device to extrude a material to form a physical model associated with the object. The set of commands may be executable to cause an extruder of the 3D printer device to deposit a first portion of the material corresponding to a first portion of the physical model. The set of commands may also be executable to cause the 3D printer device to clean the extruder after depositing the first portion of the material. The set of commands may further be executable to cause the extruder of the 3D printer device to deposit a second portion of the material after cleaning the extruder, where the second portion of the material corresponds to a second portion of the physical model.

For example, processing the model data may include performing slicing operations, such as operations described with reference to FIG. 4, for generate the commands 109. The set of commands may include machine instruction, such as G-code commands. The set of commands may be generated by the slicer application 108 of the computing device 102. Alternatively, if the 3D printer device 101 includes a slicing application, the set of commands may be generated by the controller 141 or another processor of the 3D printer device 101.

In some implementations, the method 1500 may also include storing data representing the set of commands, sending data representing the set of commands to the 3D printer via a communication interface, or both. For example, after the commands 109 of FIG. 1 are generated, the commands 109 may be stored at the memory 104 of the computing device 102, sent to the 3D printer device 101, or both.

In a first implementation, the set of commands is executable to cause the 3D printer device 101 to track a quantity of the material deposited to form the first portion of the physical model. In a second implementation, a slicer application (such as the slicer application 108) generating the set of commands may determine a quantity of the material that will be deposited to form the first portion of the physical model and may include a cleaning sequence in the set of commands based on the quantity of the material deposited satisfying a threshold. In either of these implementations, the set of commands may be executable to cause the 3D printer device 101 to clean the extruder based on the quantity of the material deposited satisfying a threshold. For example, in the first implementation, when one of the material counters 145 indicates that the first extruder 130 has deposits a threshold quantity of the first material 120, the first extruder 130 may be cleaned (e.g., to avoid buildup of material around an opening of the first extruder tip 131). In the second implementation, the set of commands may be arranged sequentially, and the first extruder 130 may be cleaned when the cleaning sequence is reached.

Alternately, the first implementation, the second implementation, or both, may be based on deposition time rather than quantity of material deposited. To illustrate, in the first implementation, the set of commands is executable to cause the 3D printer device 101 to track a deposition time associated with forming the first portion of the physical model. In a second implementation, a slicer application (such as the slicer application 108) generating the set of commands may determining a deposition time associated with forming the first portion of the physical model and may include a cleaning sequence in the set of commands based on the deposition time satisfying a threshold. In either of these implementations, the set of commands may be executable to cause the 3D printer device 101 to clean the extruder based on the deposition time satisfying a threshold. For example, in the first implementation, when one of the timers 144 indicates that the first extruder 130 has been depositing the first material for a threshold amount of time, the first extruder 130 may be cleaned.

In yet another implementation, the set of commands is executable, while a particular extruder (e.g., the first extruder 130) is in use, to cause the 3D printer device to track downtime of another extruder (e.g., the second extruder 132 of the Nth extruder 134 or FIG. 1) that is not in use and to clean the particular extruder (e.g., the first extruder 130) based on the downtime of the other extruder (e.g., the second extruder 132 of the Nth extruder 134) satisfying a threshold.

In some implementations, the set of commands is executable to cause the 3D printer to mix two or more components to form the material. For example, the set of commands may be executable by the 3D printer device 101 to provide the first component 124 (e.g., a resin) and the second component 126 (e.g., a hardening agent) to the mixer 127 to form the mixture 128. In such implementations, the set of commands may cause the 3D printer device to clean the extruder based on the time since mixing satisfying a threshold. For example, the two or more components may begin to cure upon mixing, and the threshold may be based on a cure time of the mixture. In such implementations, the material extruded to form the first portion of the physical model may include or correspond to the mixture.

Alternatively, in a particular embodiment, the mixture may be used by a second extruder. In this embodiment, the set of commands may be executable to cause the 3D printer device to clean the second extruder after depositing the first portion of the material and before depositing the second portion of the material.

In some implementations, the set of commands is executable to cause the 3D printer device to deposit a second material after depositing the first portion of the material and before depositing the second portion of the material. The second material may be chemically distinct from the material. For example, the 3D model may include a first model portion representing a matrix material (e.g., a first material) and a second model portion representing a filler material (e.g., a second material). In this example, processing the model data may include identifying a first region of the 3D model that includes the matrix material and a second region of the 3D model that includes the filler material. For some 3D models, at least a portion of the second region may be enveloped by at least a portion of the first region in the 3D model. In this example, the processing the model data may also include automatically modifying the model data to omit at least a portion of the matrix material from the first region of the 3D model. For example, a portion of the matrix material may be omitted to enable a second extruder tip to enter an opening in the matrix material to deposit the filler material. In this example, dimensions of the portion of the matrix material omitted from the first region of the 3D model may be determined based on physical dimensions of the second extruder.

FIG. 16 is a flowchart of a particular embodiment of a method 1600 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 1600 may be performed by the controller 141 of the 3D printer device executing instructions from the memory 142. As another example, the method 1600 may be performed by the processor 103 of the computing device 102 executing instructions from the memory 104.

The method 1600 includes, at 1602, obtaining model data representing a three-dimensional (3D) model of an object. For example, the processor 103 of FIG. 1 may obtain the model data 107 by reading the model data 107 from the memory 104. As another example, the controller 141 may obtain the model data 107 by receiving the model data 107 via the communication interface 146.

The method 1600 includes, at 1604, processing the model data to generate a set of commands to direct a 3D printer device to extrude one or more materials to form a physical model associated with the object. The set of commands may be executable to cause a first extruder of the 3D printer device to deposit a first portion of a first material corresponding to a first portion of the physical model. The set of commands may also be executable to cause the 3D printer device to clean a second extruder of the 3D printer after depositing the portion of the first material.

For example, processing the model data may include performing slicing operations, such as operations described with reference to FIG. 4, for generate the commands 109. The set of commands may include machine instruction, such as G-code commands. The set of commands may be generated by the slicer application 108 of the computing device 102. Alternatively, if the 3D printer device 101 includes a slicing application, the set of commands may be generated by the controller 141 or another processor of the 3D printer device 101.

In some implementations, the method 1600 may also include storing data representing the set of commands, sending data representing the set of commands to the 3D printer via a communication interface, or both. For example, after the commands 109 of FIG. 1 are generated, the commands 109 may be stored at the memory 104 of the computing device 102, sent to the 3D printer device 101, or both.

In a first implementation, the set of commands is executable to cause the 3D printer device 101 to track a quantity of the first material deposited to form the first portion of the physical model. In a second implementation, a slicer application (such as the slicer application 108) generating the set of commands may determine a quantity of the first material that will be deposited to form the first portion of the physical model and may include a cleaning sequence in the set of commands based on the quantity of the first material deposited satisfying a threshold. In either of these implementations, the set of commands may be executable to cause the 3D printer device 101 to clean the second extruder based on the quantity of the material deposited satisfying a threshold. For example, in the first implementation, when one of the material counters 145 indicates that the first extruder 130 has deposits a threshold quantity of the first material 120, the second extruder 132 may be cleaned. In the second implementation, the set of commands may be arranged sequentially, and the second extruder 132 may be cleaned when the cleaning sequence is reached.

Alternately, the first implementation, the second implementation, or both, may be based on deposition time rather than quantity of material deposited. To illustrate, in the first implementation, the set of commands is executable to cause the 3D printer device 101 to track a deposition time associated with forming the first portion of the physical model. In a second implementation, a slicer application (such as the slicer application 108) generating the set of commands may determining a deposition time associated with forming the first portion of the physical model and may include a cleaning sequence in the set of commands based on the deposition time satisfying a threshold. In either of these implementations, the set of commands may be executable to cause the 3D printer device 101 to clean the second extruder based on the deposition time of the first extruder satisfying a threshold. For example, in the first implementation, when one of the timers 144 indicates that the first extruder 130 has been depositing the first material for a threshold amount of time, the second extruder 132 may be cleaned.

In yet another implementation, the set of commands is executable, while the first extruder 130 is in use, to cause the 3D printer device 101 to track downtime of the second extruder 132, which is not in use and to clean the second extruder 132 based on the downtime of the second extruder 132 satisfying a threshold.

In some implementations, the set of commands is executable to cause the 3D printer device to mix two or more components to form the first material or to form a second material used by the second extruder. For example, the set of commands may be executable by the 3D printer device 101 to provide the first component 124 (e.g., a resin) and the second component 126 (e.g., a hardening agent) to the mixer 127 to form the mixture 128. In such implementations, the set of commands may cause the 3D printer device to clean the second extruder based on the time since mixing satisfying a threshold. In an embodiment, the two or more components may begin to cure upon mixing, and the threshold may be based on a cure time of the mixture. The mixture may be used by a second extruder. In this embodiment, the set of commands may be executable to cause the 3D printer device to clean the second extruder after depositing the first portion of the first material and before depositing a second portion of the first material.

In some implementations, the set of commands is executable to cause the 3D printer device to deposit a second material after depositing the first portion of the first material and before depositing a second portion of the first material. The second material may be chemically distinct from the first material. For example, the 3D model may include a first model portion representing a matrix material (e.g., a first material) and a second model portion representing a filler material (e.g., a second material). In this example, processing the model data may include identifying a first region of the 3D model that includes the matrix material and a second region of the 3D model that includes the filler material. For some 3D models, at least a portion of the second region may be enveloped by at least a portion of the first region in the 3D model. In this example, the processing the model data may also include automatically modifying the model data to omit at least a portion of the matrix material from the first region of the 3D model. For example, a portion of the matrix material may be omitted to enable a second extruder tip to enter an opening in the matrix material to deposit the filler material. In this example, dimensions of the portion of the matrix material omitted from the first region of the 3D model may be determined based on physical dimensions of the second extruder.

FIG. 17 is a flowchart of a particular embodiment of a method 1700 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 1700 may be performed by the 3D printer device 101 executing instructions from the memory 142.

The method 1700 includes, at 1702, depositing, using a first extruder of a three-dimensional (3D) printer device, a first portion of a first material corresponding to a first portion of a physical model of an object. For example, the 3D printer device 101 of FIG. 1 may use the first extruder 130 to deposit the first material 120 to form a first portion of a physical model of an object (such as the partial physical model 801 of FIG. 8).

The method 1700 includes, at 1704, cleaning the first extruder after depositing the first portion of the first material. For example, the first extruder 130 may be cleaned at the cleaning station 136 after the first extruder deposits the first material 120 to form a first portion of a physical model of an object. As another example, after the partial physical model 801 is formed as illustrated in FIG. 8, the extruder 502 may be cleaned as illustrated in FIG. 9.

The method 1700 also includes, at 1706, after cleaning the first extruder, depositing, using the first extruder, a second portion of the first material, the second portion of the first material corresponding to a second portion of the physical model. For example, the first extruder 130 may be may be used to deposit the first material 120 to form a second portion of a physical model of an object after the first extruder 130 is cleaned. As another example, after the first extruder is cleaned, as illustrated in FIG. 9, the first extruder may be used to deposit a second portion of the physical model, as illustrated in FIG. 13.

In some implementations, the method 1700 may also include storing, at a memory of the 3D printer device, data representing a set of commands to form the physical model, sending data representing the set of commands via a communication interface, or both. For example, after the commands 109 of FIG. 1 are generated, the commands 109 may be stored at the memory 104 of the computing device 102, sent to the 3D printer device 101, or both.

In a particular embodiment, the method 1700 includes tracking a quantity of the first material deposited to form the first portion of the physical model. In this embodiment, the first extruder may be cleaned based on the quantity of the first material deposited satisfying a threshold.

In a particular embodiment, the method 1700 includes tracking a deposition time associated with forming the first portion of the physical model. In this embodiment, the first extruder may be cleaned based on the deposition time satisfying a threshold.

In a particular embodiment, the method 1700 includes tracking downtime of a second extruder of the 3D printer device. In this embodiment, the first extruder may be cleaned based on the downtime of the second extruder satisfying a threshold.

In a particular embodiment, the method 1700 includes mixing two or more components to form the first material and tracking a time since mixing. In this embodiment, the first extruder may be cleaned based on the time since mixing satisfying a threshold. For example, the two or more components may include a resin and a hardening agent that begin to cure upon mixing. In this example, the threshold may be based on a cure time of a mixture including the two or more components. Mixing the two or more components may include dispensing a resin from a first container of the 3D printer device into a mixer of the 3D printer device and dispensing a hardening agent from a second container of the 3D printer device into the mixer. The resin and the hardening agent may be mixed in the mixer, and the mixer may be in fluid communication with the first extruder.

In a particular embodiment, the method 1700 includes mix two or more components to form a second material associated with a second extruder of the 3D printer device and tracking a time since mixing. In this embodiment, the first extruder may be cleaned based on the time since mixing satisfying a threshold. For example, the two or more components may include a resin and a hardening agent that begin to cure upon mixing, and the threshold may be based on a cure time of a mixture. In this example, the method 1700 may include cleaning the second extruder after depositing the first portion of the first material and before depositing the second portion of the first material.

The method 1700 may also or in the alternative include, after depositing the first portion of the first material and before depositing the second portion of the first material depositing a second material using a second extruder of the 3D printer device. The second material may be chemically distinct from the first material.

FIG. 18 is a flowchart of a particular embodiment of a method 1800 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 1800 may be performed by the 3D printer device 101 executing instructions from the memory 142.

The method 1800 includes, at 1802, depositing, using a first extruder of a three-dimensional (3D) printer device, a portion of a first material to form a first portion of a physical model. For example, the 3D printer device 101 of FIG. 1 may use the first extruder 130 to deposit the first material 120 to form a first portion of a physical model of an object (such as the partial physical model 801 of FIG. 8).

The method 1800 includes, at 1804, after depositing the portion of the first material, cleaning a second extruder of the 3D printer device. For example, after the first extruder 130 is used to deposit the first material 120 to form the first portion of a physical model, the second extruder 132 may be cleaned. As another example, after the extruder 502 is used to form a first portion of a physical model of an object (such as the partial physical model 801 FIG. 8), the extruder 802 may be cleaned, as illustrated in FIG. 10.

In some implementations, the method 1800 may also include storing, at a memory of the 3D printer device, data representing a set of commands to form the physical model, sending data representing the set of commands via a communication interface, or both. For example, after the commands 109 of FIG. 1 are generated, the commands 109 may be stored at the memory 104 of the computing device 102, sent to the 3D printer device 101, or both.

In a particular embodiment, the method 1800 includes tracking a quantity of the first material deposited to form the first portion of the physical model. In this embodiment, the second extruder may be cleaned based on the quantity of the first material deposited satisfying a threshold.

In a particular embodiment, the method 1800 includes tracking a deposition time associated with forming the first portion of the physical model. In this embodiment, the second extruder may be cleaned based on the deposition time satisfying a threshold.

In a particular embodiment, the method 1800 includes tracking downtime of the second extruder of the 3D printer device. In this embodiment, the second extruder may be cleaned based on the downtime of the second extruder satisfying a threshold.

In a particular embodiment, the method 1800 includes mixing two or more components to form the first material and tracking a time since mixing. In this embodiment, the first extruder may be cleaned based on the time since mixing satisfying a threshold. For example, the two or more components may include a resin and a hardening agent that begin to cure upon mixing. In this example, the threshold may be based on a cure time of a mixture including the two or more components. Mixing the two or more components may include dispensing a resin from a first container of the 3D printer device into a mixer of the 3D printer device and dispensing a hardening agent from a second container of the 3D printer device into the mixer. The resin and the hardening agent may be mixed in the mixer, and the mixer may be in fluid communication with the first extruder.

In a particular embodiment, the method 1800 includes mix two or more components to form the first material and tracking a time since mixing. In this embodiment, the second extruder may be cleaned based on the time since mixing satisfying a threshold. For example, the two or more components may include a resin and a hardening agent that begin to cure upon mixing, and the threshold may be based on a cure time of the mixture. In this example, the method 1800 may include cleaning the second extruder after depositing the first portion of the first material.

In a particular embodiment, the method 1800 includes mix two or more components to form a second material associated with the second extruder and tracking a time since mixing. In this embodiment, the second extruder may be cleaned based on the time since mixing satisfying a threshold. For example, the two or more components may include a resin and a hardening agent that begin to cure upon mixing, and the threshold may be based on a cure time of the mixture. In this example, the method 1800 may include cleaning the second extruder after depositing the first portion of the first material.

The method 1800 may also or in the alternative include, after depositing the first portion of the first material and before depositing a second portion of the first material depositing a second material using a second extruder of the 3D printer device. The second material may be chemically distinct from the first material.

FIG. 19 is a flowchart of a particular embodiment of a method 1900 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 1900 may be performed by the 3D printer device 101 executing instructions from the memory 142.

The method 1900 includes, at 1902, moving an extruder of a 3D printer device relative to a deposition platform of the 3D printer device during deposition a material (e.g., a polymer) to form a portion of a first line. For example, one or more of the extruders 130, 132, 134 of FIG. 1 may be moved in the X direction 138, in the Y direction 139, or both, relative to the deposition platform 112. As another example, the extruder 202 of FIG. 2A may be moved in the direction 206 relative to the deposition platform 112 while the material 204 is deposited to form a portion of a line.

The method 1900 includes, at 1904, after depositing a portion of the material corresponding to a first end of the first line, moving the extruder back along the first line and concurrently moving the extruder away from the deposition platform. For example, after depositing end of a line, one or more of the extruders 130, 132, 134 of FIG. 1 may be moved in the X direction 138, in the Y direction 139, or both, relative to the deposition platform 112 and concurrently moved in the Z direction 140 away from the deposition platform. As another example, the extruder 202 of FIG. 2C may be moved in the direction 212 which is back along the line formed by the material 204 and away from the deposition platform 112. In this context, motion of the extruder relative to the deposition platform 112 may be accomplished by moving the extruder, moving the deposition platform, or both. To illustrate, in FIG. 2C, the extruder 202 may be moved in a direction opposite the direction 206 of FIG. 2A and the deposition platform 112 may be lowered to move away from the extruder 202. Alternatively, one of the extruder 202 or the deposition platform 112 may be stationary while the other is moved.

The method 1900 may also include reducing an extrusion flow rate of the extruder as the extruder moves away from the deposition platform. For example, when the extruder is a paste extruder or syringe type extruder, pressure applied to a plunger of the extruder may be reduced as the extruder moves away from the deposition platform. As another example, when the extruder is a filament-fed extruder, a feed rate of the filament may be reduced as the extruder moves away from the deposition platform.

In a particular embodiment, the method 1900 may include forming a physical model by depositing multiple lines of the material including the first line. For example, depositing the multiple lines may include forming a base layer of the material on the deposition platform and stacking multiple layers of the material on the base layer. As another example, depositing the multiple lines may include forming a first stack of multiple layers of the material at a first location relative to the deposition platform and after forming the first stack, forming a second stack of multiple layers of the material at a second location relative to the deposition platform. In this example, the first stack may be formed to a height determined based on a physical configuration of the 3D printer device before the second stack is formed. The physical configuration of the 3D printer device may include or correspond to a distance between an extruder tip of the extruder and a support member coupled to the extruder. To illustrate, in FIGS. 5-7, the first stack 504 is formed by depositing a plurality of lines (arranged as layers) on the deposition platform. After the first stack 504 reaches the second height 522 (which is less that the first height 520), the second stack 514 is formed. In some embodiments, the first line forms at least a portion of a first layer and at least a portion of a second layer, wherein the second layer is stacked on the first layer, as illustrated in FIG. 5.

In a particular embodiment, the method 1900 may include depositing multiple layers of the material including the first line to form a first portion of a physical model defining a non-planar surface and using a second extruder of the 3D printer device to deposit at least one additional material on the non-planar surface to form a second portion of the physical model. For example, after the extruder 502 is used to deposit a first material to form the non-planer surface 852 of FIG. 14, the extruder 802 may be used to deposit a portion of the second material 808 on the non-planar surface 852.

FIG. 20 is a flowchart of a particular embodiment of a method 2000 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 2000 may be performed by the 3D printer device 101 executing instructions from the memory 142.

The method 2000 includes, at 2002, during extrusion of a material (e.g., a polymer) by an extruder of a three-dimensional (3D) printer device, moving the extruder relative to a deposition platform of the 3D printer device. For example, one or more of the extruders 130, 132, 134 of FIG. 1 may be moved in the X direction 138, in the Y direction 139, or both, relative to the deposition platform 112. As another example, the extruder 202 of FIG. 2A may be moved in the direction 206 relative to the deposition platform 112 while the material 204 is deposited to form a portion of a line.

The method 2000 includes, at 2004, during movement of the extruder, adjusting an extrusion rate of the extruder based on an acceleration rate of relative motion of the extruder and the deposition platform. For example, as described with reference to FIG. 3B, the extrusion rate (or an extrusion rate control parameter) may be adjusted based on an acceleration rate of the relative motion of the extruder and the deposition platform to enable formation of line ends (such as the line end 326) without deformations or irregularities, such as blobs.

In a particular embodiment, the method 2000 may include forming a physical model by depositing multiple lines of the material including the first line. For example, depositing the multiple lines may include forming a base layer of the material on the deposition platform and stacking multiple layers of the material on the base layer. As another example, depositing the multiple lines may include forming a first stack of multiple layers of the material at a first location relative to the deposition platform and after forming the first stack, forming a second stack of multiple layers of the material at a second location relative to the deposition platform. In this example, the first stack may be formed to a height determined based on a physical configuration of the 3D printer device before the second stack is formed. The physical configuration of the 3D printer device may include or correspond to a distance between an extruder tip of the extruder and a support member coupled to the extruder. To illustrate, in FIGS. 5-7, the first stack 504 is formed by depositing a plurality of lines (arranged as layers) on the deposition platform. After the first stack 504 reaches the second height 522 (which is less that the first height 520), the second stack 514 is formed. In some embodiments, the first line forms at least a portion of a first layer and at least a portion of a second layer, wherein the second layer is stacked on the first layer, as illustrated in FIG. 5.

In a particular embodiment, the method 2000 may include depositing multiple layers of the material including the first line to form a first portion of a physical model defining a non-planar surface and using a second extruder of the 3D printer device to deposit at least one additional material on the non-planar surface to form a second portion of the physical model. For example, after the extruder 502 is used to deposit a first material to form the non-planer surface 852 of FIG. 14, the extruder 802 may be used to deposit a portion of the second material 808 on the non-planar surface 852.

FIG. 21 is a flowchart of a particular embodiment of a method 2100 that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 2100 may be performed by the controller 141 of the 3D printer device executing instructions from the memory 142. As another example, the method 2100 may be performed by the processor 103 of the computing device 102 executing instructions from the memory 104.

The method 2100 includes, at 2102, obtaining model data representing a three-dimensional (3D) model of an object. For example, the processor 103 of FIG. 1 may obtain the model data 107 by reading the model data 107 from the memory 104. As another example, the controller 141 may obtain the model data 107 by receiving the model data 107 via the communication interface 146.

The method 2100 includes, at 2104, processing the model data to generate a set of commands to direct a 3D printer device to extrude a material (e.g., a polymer) to form a physical model associated with the object. The set of commands includes one or more first commands to cause relative motion of an extruder of the 3D printer device and a deposition platform of the 3D printer device during deposition a first portion of the material to form a portion of a first line. The one or more first commands are further executable to, after depositing a second portion of the material corresponding to a first end of the first line, cause relative motion of the extruder and the deposition platform such that the extruder moves back along the first line while the extruder concurrently moves away from the deposition platform. For example, after depositing an end of a line, one or more of the extruders 130, 132, 134 of FIG. 1 may be moved in the X direction 138, in the Y direction 139, or both, relative to the deposition platform 112 and concurrently moved in the Z direction 140 away from the deposition platform. As another example, the extruder 202 of FIG. 2C may be moved in the direction 212 which is back along the line formed by the material 204 and away from the deposition platform 112. In this context, motion of the extruder relative to the deposition platform 112 may be accomplished by moving the extruder, moving the deposition platform, or both. To illustrate, in FIG. 2C, the extruder 202 may be moved in a direction opposite the direction 206 of FIG. 2A and the deposition platform 112 may be lowered to move away from the extruder 202. Alternatively, one of the extruder 202 or the deposition platform 112 may be stationary while the other is moved.

The set of commands may also include one or more second commands to reduce an extrusion flow rate of the extruder as the extruder moves back along the first line and away from the deposition platform. For example, when the extruder is a paste extruder or syringe type extruder, the one or more second commands may cause pressure applied to a plunger of the extruder to be reduced as the extruder moves away from the deposition platform. As another example, when the extruder is a filament-fed extruder, the one or more second commands may cause a feed rate of the filament to be reduced as the extruder moves away from the deposition platform.

In a particular embodiment, the set of commands may be executable to cause the 3D printer device to form a physical model by depositing multiple lines of the material including the first line. For example, depositing the multiple lines may include forming a base layer of the material on the deposition platform and stacking multiple layers of the material on the base layer. As another example, depositing the multiple lines may include forming a first stack of multiple layers of the material at a first location relative to the deposition platform and after forming the first stack, forming a second stack of multiple layers of the material at a second location relative to the deposition platform. In this example, the first stack may be formed to a height determined based on a physical configuration of the 3D printer device before the second stack is formed. The physical configuration of the 3D printer device may include or correspond to a distance between an extruder tip of the extruder and a support member coupled to the extruder. To illustrate, in FIGS. 5-7, the first stack 504 is formed by depositing a plurality of lines (arranged as layers) on the deposition platform. After the first stack 504 reaches the second height 522 (which is less that the first height 520), the second stack 514 is formed. In some embodiments, the first line forms at least a portion of a first layer and at least a portion of a second layer, wherein the second layer is stacked on the first layer, as illustrated in FIG. 5.

In a particular embodiment, the set of commands may be executable to cause the 3D printer device to deposit multiple layers of the material including the first line to form a first portion of a physical model defining a non-planar surface and to cause the 3D printer device to use a second extruder to deposit at least one additional material on the non-planar surface to form a second portion of the physical model. For example, after the extruder 502 is used to deposit a first material to form the non-planer surface 852 of FIG. 14, the extruder 802 may be used to deposit a portion of the second material 808 on the non-planar surface 852.

In a particular embodiment, the set of commands may be executable to cause the 3D printer device to form the physical model by stacking multiple layers of the material, where the 3D model defines a void region within an area corresponding to at least one layer of the multiple layers. In this embodiment, the set of commands may cause the 3D printer device to form the at least one layer as a set of polygons adjacent to a location corresponding to the void region. For example, the set of polygons may be formed such that no polygon of the set of polygons circumscribes the location corresponding to the void region. To illustrate, as shown in FIG. 4, when a slicer application identifies the void region 418 within the slice 414, the slicer application may form the set of polygons 420, 422, 424, 426 that circumscribe the void region 418. Thus, the set of commands 109 includes cause a physical model of the slice 414 to be formed by applying lines to form physical models of the polygons 420, 422, 424, 426.

FIG. 22 is a flowchart of a particular embodiment of a method that may be performed by one or more devices or components of the system 100 of FIG. 1. For example, the method 2200 may be performed by the controller 141 of the 3D printer device executing instructions from the memory 142. As another example, the method 2200 may be performed by the processor 103 of the computing device 102 executing instructions from the memory 104.

The method 2200 includes, at 2202, obtaining model data representing a three-dimensional (3D) model of an object. For example, the processor 103 of FIG. 1 may obtain the model data 107 by reading the model data 107 from the memory 104. As another example, the controller 141 may obtain the model data 107 by receiving the model data 107 via the communication interface 146.

The method 2200 includes, at 2204, processing the model data to generate a set of commands to direct a 3D printer device to extrude a material (e.g., a polymer) to form a physical model associated with the object. The set of commands includes one or more first commands to cause relative motion of an extruder of the 3D printer device and a deposition platform of the 3D printer device during deposition of a portion of the material corresponding to a line. The set of commands further includes one or more second commands to adjust an extrusion rate of the extruder based on an acceleration rate of the relative motion. For example, the set of commands may be executable to cause an extrusion rate of one of more of the extruders 130, 132, 134 to be adjusted based on an acceleration rate of the extruder, as described further with reference to FIG. 3B.

In some implementations, the one or more first commands define a movement rate of the relative motion, such as a movement rate of the extruder. In such implementations, the acceleration rate of the relative motion may be determined based on settings of the 3D printer device. For example, the settings 150 of FIG. 1 may indicate a rate (or a maximum rate) at which the actuators 143 are to change a velocity of the relative motion of the extruders 130, 132, 134 and the deposition platform. Alternately, in such implementations, the acceleration rate of the relative motion may be determined based on a hardware configuration of the 3D printer device. For example, the memory 142 of FIG. 1 may include information indicating a rate (or a maximum rate) at which the actuators 143 are to change a velocity of the relative motion of the extruders 130, 132, 134 and the deposition platform.

In a particular embodiment, the set of commands may be executable to cause the 3D printer device to form a physical model by depositing multiple lines of the material including the first line. For example, depositing the multiple lines may include forming a base layer of the material on the deposition platform and stacking multiple layers of the material on the base layer. As another example, depositing the multiple lines may include forming a first stack of multiple layers of the material at a first location relative to the deposition platform and after forming the first stack, forming a second stack of multiple layers of the material at a second location relative to the deposition platform. In this example, the first stack may be formed to a height determined based on a physical configuration of the 3D printer device before the second stack is formed. The physical configuration of the 3D printer device may include or correspond to a distance between an extruder tip of the extruder and a support member coupled to the extruder. To illustrate, in FIGS. 5-7, the first stack 504 is formed by depositing a plurality of lines (arranged as layers) on the deposition platform. After the first stack 504 reaches the second height 522 (which is less that the first height 520), the second stack 514 is formed. In some embodiments, the first line forms at least a portion of a first layer and at least a portion of a second layer, wherein the second layer is stacked on the first layer, as illustrated in FIG. 5.

In a particular embodiment, the set of commands may be executable to cause the 3D printer device to deposit multiple layers of the material including the first line to form a first portion of a physical model defining a non-planar surface and to cause the 3D printer device to use a second extruder to deposit at least one additional material on the non-planar surface to form a second portion of the physical model. For example, after the extruder 502 is used to deposit a first material to form the non-planer surface 852 of FIG. 14, the extruder 802 may be used to deposit a portion of the second material 808 on the non-planar surface 852.

In a particular embodiment, the set of commands may be executable to cause the 3D printer device to form the physical model by stacking multiple layers of the material, where the 3D model defines a void region within an area corresponding to at least one layer of the multiple layers. In this embodiment, the set of commands may cause the 3D printer device to form the at least one layer as a set of polygons adjacent to a location corresponding to the void region. For example, the set of polygons may be formed such that no polygon of the set of polygons circumscribes the location corresponding to the void region. To illustrate, as shown in FIG. 4, when a slicer application identifies the void region 418 within the slice 414, the slicer application may form the set of polygons 420, 422, 424, 426 that circumscribe the void region 418. Thus, the set of commands 109 includes cause a physical model of the slice 414 to be formed by applying lines to form physical models of the polygons 420, 422, 424, 426.

The illustrations of the examples described herein are intended to provide a general understanding of the structure of the various implementations. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other implementations may be apparent to those of skill in the art upon reviewing the disclosure. Other implementations may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. For example, method operations may be performed in a different order than shown in the figures or one or more method operations may be omitted. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.

Moreover, although specific examples have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar results may be substituted for the specific implementations shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various implementations. Combinations of the above implementations, and other implementations not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.

The Abstract of the Disclosure is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single implementation for the purpose of streamlining the disclosure. Examples described above illustrate but do not limit the disclosure. It should also be understood that numerous modifications and variations are possible in accordance with the principles of the present disclosure. As the following claims reflect, the claimed subject matter may be directed to less than all of the features of any of the disclosed examples. Accordingly, the scope of the disclosure is defined by the following claims and their equivalents. 

What is claimed is:
 1. A three-dimensional (3D) printer device comprising: a first extruder configured to deposit a material on a deposition platform; an actuator coupled to at least one of the first extruder or the deposition platform; and a controller coupled to the actuator, the controller configured to cause the first extruder to deposit a first portion of the material corresponding to a first portion of a physical model, to cause the first extruder to be cleaned, purged, or both, after the first extruder deposits the first portion of the material, and to cause the first extruder to deposit a second portion of the material after the first extruder is cleaned, purged, or both, the second portion of the material corresponding to a second portion of the physical model.
 2. The 3D printer device of claim 1, further comprising a memory to store data representing a set of commands, wherein the controller is configured to execute commands of the set of commands to form the physical model.
 3. The 3D printer device of claim 1, further comprising a communication interface to receive commands from a computing device, wherein the controller is configured to execute the commands to form the physical model.
 4. The 3D printer device of claim 1, further comprising a timer, wherein the controller causes the first extruder to be cleaned, purged, or both, based on the timer satisfying a threshold.
 5. The 3D printer device of claim 4, wherein the timer is configured to track time elapsed during deposition of the first portion of the material.
 6. The 3D printer device of claim 1, further comprising a material counter configured to track a quantity of the material deposited to form the first portion of the physical model, wherein the controller causes the first extruder to be cleaned, purged, or both, based on a value of the material counter satisfying a threshold.
 7. The 3D printer device of claim 1, further comprising a second extruder configured to deposit a second material on the deposition platform.
 8. The 3D printer device of claim 7, further comprising a timer associated with the second extruder, wherein the controller causes the first extruder to be cleaned, purged, or both, based on the timer satisfying a threshold.
 9. The 3D printer device of claim 8, wherein the timer tracks time since the second extruder was used to deposit the second material.
 10. The 3D printer device of claim 8, further comprising: a first container configured to store a first component of the second material; a second container configured to store a second component of the second material; and a mixer configured to mix the first component and the second component to form the second material.
 11. The 3D printer device of claim 10, wherein the timer tracks time since mixing the first component and the second component, wherein the controller causes the first extruder to be cleaned, purged, or both, based on the time since mixing satisfying a threshold.
 12. The 3D printer device of claim 10, wherein the first component includes a resin and the second component includes a hardening agent.
 13. The 3D printer device of claim 7, wherein the controller is configured to cause the second extruder to be cleaned, purged, or both, based on the first extruder being cleaned, purged, or both.
 14. The 3D printer device of claim 7, wherein the first extruder comprises filament-feed extruder and the second extruder comprises a paste extruder.
 15. The 3D printer device of claim 7, wherein the second extruder comprises filament-feed extruder and the first extruder comprises a paste extruder.
 16. The 3D printer device of claim 7, wherein the controller is configured to cause the second extruder to deposit a portion of the second material after the first extruder deposits the first portion of the material and before the first extruder deposits the second portion of the material, wherein the second material is chemically distinct from the material.
 17. A three-dimensional (3D) printer device comprising: a first extruder configured to deposit a first material on a deposition platform; a second extruder configured to deposit a second material on the deposition platform; an actuator coupled to the first extruder, the second extruder, the deposition platform, or a combination thereof; and a controller coupled to the actuator, the controller configured to cause the first extruder to deposit a first portion of the first material corresponding to a first portion of a physical model and to cause the second extruder to be cleaned, purged, or both, after the first extruder deposits the first portion of the first material.
 18. The 3D printer device of claim 17, further comprising a memory to store data representing a set of commands, wherein the controller is configured to execute commands of the set of commands to form the physical model.
 19. The 3D printer device of claim 17, further comprising a communication interface to receive commands from a computing device, wherein the controller is configured to execute the commands to form the physical model.
 20. The 3D printer device of claim 17, further comprising a material counter configured to track a quantity of the first material deposited to form the first portion of the physical model, wherein the controller causes the second extruder to be cleaned, purged, or both, based on a value of the material counter satisfying a threshold.
 21. The 3D printer device of claim 17, further comprising a timer, wherein the controller causes the second extruder to be cleaned, purged, or both, based on the timer satisfying a threshold.
 22. The 3D printer device of claim 21, wherein the timer is configured to track time elapsed during deposition of the first portion of the first material.
 23. The 3D printer device of claim 21, wherein the timer tracks time since the second extruder was used to deposit the second material.
 24. The 3D printer device of claim 21, further comprising: a first container configured to store a first component of the second material; a second container configured to store a second component of the second material; and a mixer configured to mix the first component and the second component to form the second material.
 25. The 3D printer device of claim 24, wherein the timer tracks time since mixing the first component and the second component, wherein the controller causes the second extruder to be cleaned, purged, or both, based on the time since mixing satisfying a threshold.
 26. The 3D printer device of claim 24, wherein the first component include a resin and the second component includes a hardening agent.
 27. The 3D printer device of claim 17, wherein the controller is configured to cause the first extruder to be cleaned, purged, or both, based on the second extruder being cleaned.
 28. The 3D printer device of claim 17, wherein the first extruder comprises filament-feed extruder and the second extruder comprises a paste extruder.
 29. The 3D printer device of claim 17, wherein the second extruder comprises filament-feed extruder and the first extruder comprises a paste extruder.
 30. The 3D printer device of claim 17, wherein the controller is configured to cause the second extruder to deposit a portion of the second material after the first extruder deposits the portion of the first material.
 31. The 3D printer device of claim 17, wherein the controller is configured to perform a test print using the first extruder and the second extruder to calibrate relative positions of the first extruder and the second extruder.
 32. A method comprising: depositing, using a first extruder of a three-dimensional (3D) printer device, a first portion of a first material corresponding to a first portion of a physical model of an object; after depositing the first portion of the first material, cleaning the first extruder, purging the first extruder, or cleaning and purging the first extruder; and after cleaning the first extruder, purging the first extruder, or cleaning and purging the first extruder, depositing, using the first extruder, a second portion of the first material, the second portion of the first material corresponding to a second portion of the physical model.
 33. The method of claim 32, further comprising storing data representing a set of commands to form the physical model at a memory of the 3D printer device.
 34. The method of claim 32, further comprising receiving data representing a set of commands to form the physical model via a communication interface of the 3D printer device.
 35. The method of claim 32, further comprising tracking a quantity of the first material deposited to form the first portion of the physical model, wherein the first extruder is cleaned, purged, or both, based on the quantity of the first material deposited satisfying a threshold.
 36. The method of claim 32, further comprising tracking a deposition time associated with forming the first portion of the physical model, wherein the first extruder is cleaned, purged, or both, based on the deposition time satisfying a threshold.
 37. The method of claim 32, further comprising tracking downtime of a second extruder of the 3D printer device, wherein the first extruder is cleaned, purged, or both, based on the downtime of the second extruder satisfying a threshold.
 38. The method of claim 32, further comprising: mixing two or more components to form the first material; and tracking a time since mixing, wherein the first extruder is cleaned, purged, or both, based on the time since mixing satisfying a threshold.
 39. The method of claim 38, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 40. The method of claim 38, wherein mixing the two or more components includes: dispensing a resin from a first container of the 3D printer device into a mixer of the 3D printer device; dispensing a hardening agent from a second container of the 3D printer device into the mixer; and mixing the resin and the hardening agent in the mixer, wherein the mixer is in fluid communication with the first extruder.
 41. The method of claim 32, further comprising: mixing two or more components to form a second material associated with a second extruder of the 3D printer device; and tracking a time since mixing, wherein the first extruder is cleaned, purged, or both, based on the time since mixing satisfying a threshold.
 42. The method of claim 41, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 43. The method of claim 41, further comprising cleaning the second extruder after depositing the first portion of the first material and before depositing the second portion of the first material.
 44. The method of claim 41, wherein the first extruder comprises filament-feed extruder and the second extruder comprises a paste extruder.
 45. The method of claim 32, further comprising, after depositing the first portion of the first material and before depositing the second portion of the first material depositing a second material, using a second extruder of the 3D printer device, wherein the second material is chemically distinct from the first material.
 46. The method of claim 32, further comprising, after depositing the first portion of the first material and before depositing the second portion of the first material, cleaning a second extruder, purging the second extruder, or cleaning and purging the second extruder.
 47. A method comprising: depositing, using a first extruder of a three-dimensional (3D) printer device, a portion of a first material to form a first portion of a physical model; and after depositing the portion of the first material, cleaning a second extruder of the 3D printer device, purging the second extruder, or cleaning and purging the second extruder.
 48. The method of claim 47, further comprising storing data representing a set of commands to form the physical model at a memory of the 3D printer device.
 49. The method of claim 47, further comprising receiving data representing a set of commands to form the physical model via a communication interface of the 3D printer device.
 50. The method of claim 47, further comprising tracking a quantity of the first material deposited to form the first portion of the physical model, wherein the second extruder is cleaned, purged, or both, based on the quantity of the first material deposited satisfying a threshold.
 51. The method of claim 47, further comprising tracking a deposition time associated with forming the first portion of the physical model, wherein the second extruder is cleaned, purged, or both, based on the deposition time satisfying a threshold.
 52. The method of claim 47, further comprising tracking downtime of the second extruder, wherein the second extruder is cleaned, purged, or both, based on the downtime of the second extruder satisfying a threshold.
 53. The method of claim 47, further comprising: mixing two or more components to form the first material; and tracking a time since mixing, wherein the second extruder is cleaned, purged, or both, based on the time since mixing satisfying a threshold.
 54. The method of claim 53, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 55. The method of claim 47, further comprising: mixing two or more components to form a second material associated with the second extruder; and tracking a time since mixing, wherein the second extruder is cleaned, purged, or both, based on the time since mixing satisfying a threshold.
 56. The method of claim 55, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 57. The method of claim 55, further comprising after depositing the portion of the first material and before depositing a second portion of the first material, cleaning the first extruder, purging the first extruder, or cleaning and purging the first extruder.
 58. The method of claim 47, further comprising depositing, using the second extruder of the 3D printer device, a second material after depositing the portion of the first material and before depositing a second portion of the first material, wherein the second material is chemically distinct from the first material.
 59. The method of claim 47, wherein the first extruder comprises filament-feed extruder and the second extruder comprises a paste extruder.
 60. The method of claim 47, wherein the second extruder comprises filament-feed extruder and the first extruder comprises a paste extruder.
 61. A method comprising: obtaining model data representing a three-dimensional (3D) model of an object; and processing the model data to generate a set of commands to direct a 3D printer to extrude a material to form a physical model associated with the object, the set of commands executable to cause an extruder of the 3D printer to deposit a first portion of the material corresponding to a first portion of the physical model, to clean, to purge, or to clean and purge the extruder after depositing the first portion of the material, and to deposit a second portion of the material after cleaning the extruder, purging the extruder, or cleaning and purging the extruder, the second portion of the material corresponding to a second portion of the physical model.
 62. The method of claim 61, further comprising storing data representing the set of commands.
 63. The method of claim 61, further comprising sending data representing the set of commands to the 3D printer via a communication interface.
 64. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to track a quantity of the material deposited to form the first portion of the physical model, and to cause the 3D printer to clean, to purge, or to clean and purge the extruder based on the quantity of the material deposited satisfying a threshold.
 65. The method of claim 61, wherein generating the set of commands includes determining a quantity of the material to be deposited to form the first portion of the physical model and including a cleaning sequence in the set of commands based on the quantity of the material deposited satisfying a threshold.
 66. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to track a deposition time associated with forming the first portion of the physical model and to cause the 3D printer to clean, to purge, or to clean and purge the extruder based on the deposition time satisfying a threshold.
 67. The method of claim 61, wherein generating the set of commands includes determining a deposition time associated with forming the first portion of the physical model and including a cleaning sequence in the set of commands based on the deposition time satisfying a threshold.
 68. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to track downtime of a second extruder and to clean, to purge, or to clean and purge the extruder based on the downtime of the second extruder satisfying a threshold.
 69. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to mix two or more components to form the material.
 70. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to mix two or more components to form the material, to track a time since mixing, and to clean, to purge, or to clean and purge the extruder based on the time since mixing satisfying a threshold.
 71. The method of claim 70, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 72. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to mix two or more components to form a second material associated with a second extruder of the 3D printer, to track a time since mixing, and to clean, to purge, or to clean and purge the extruder based on the time since mixing satisfying a threshold.
 73. The method of claim 72, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 74. The method of claim 72, wherein the set of commands is executable to cause the 3D printer to clean, to purge, or to clean and purge the second extruder after depositing the first portion of the material and before depositing the second portion of the material.
 75. The method of claim 72, wherein the extruder comprises filament-feed extruder and the second extruder comprises a paste extruder.
 76. The method of claim 61, wherein the set of commands is executable to cause the 3D printer to deposit a second material after depositing the first portion of the material and before depositing the second portion of the material, wherein the second material is chemically distinct from the material.
 77. The method of claim 61, wherein the 3D model includes a first model portion representing a matrix material and a second model portion representing a filler material, and wherein processing the model data includes: identifying a first region of the 3D model that includes the matrix material and a second region of the 3D model that includes the filler material, wherein at least a portion of the second region is enveloped by at least a portion of the first region in the 3D model; and automatically modifying the model data to omit at least a portion of the matrix material from the first region of the 3D model.
 78. The method of claim 77, wherein dimensions of the portion of the matrix material omitted from the first region of the 3D model are determined based on physical dimensions of a second extruder associated with the filler material.
 79. The method of claim 61, wherein the set of commands includes G-code commands.
 80. A method comprising: obtaining model data representing a three-dimensional (3D) model of an object; and processing the model data to generate a set of commands to direct a 3D printer to extrude one or more materials to form a physical model associated with the object, the set of commands executable to cause a first extruder of the 3D printer to deposit a portion of a first material to form a first portion of the physical model and to, after depositing the portion of the first material, clean a second extruder of the 3D printer, purge the second extruder, or clean and purge the second extruder.
 81. The method of claim 80, further comprising storing data representing the set of commands.
 82. The method of claim 80, further comprising sending data representing the set of commands to the 3D printer via a communication interface.
 83. The method of claim 80, wherein the set of commands is executable to cause the 3D printer to track a quantity of the first material deposited to form the first portion of the physical model, and to cause the 3D printer to clean, to purge, or to clean and purge the second extruder based on the quantity of the first material deposited satisfying a threshold.
 84. The method of claim 80, wherein generating the set of commands includes determining a quantity of the first material to be deposited to form the first portion of the physical model and including a cleaning sequence to clean, to purge, or to clean and purge the second extruder in the set of commands based on the quantity of the first material deposited satisfying a threshold.
 85. The method of claim 80, wherein the set of commands is executable to cause the 3D printer to track a deposition time associated with forming the first portion of the physical model and to cause the 3D printer to clean, to purge, or to clean and purge the second extruder based on the deposition time satisfying a threshold.
 86. The method of claim 80, wherein generating the set of commands includes determining a deposition time associated with forming the first portion of the physical model and including a cleaning sequence to clean, to purge, or to clean and purge the second extruder in the set of commands based on the deposition time satisfying a threshold.
 87. The method of claim 80, wherein the set of commands is executable to cause the 3D printer to track downtime of the second extruder and to clean, to purge, or to clean and purge the second extruder based on the downtime of the second extruder satisfying a threshold.
 88. The method of claim 80, wherein the set of commands is executable to cause the 3D printer to mix two or more components to form the first material.
 89. The method of claim 80, wherein the set of commands is executable to cause the 3D printer to mix two or more components to form the first material, to track a time since mixing, and to clean, to purge, or to clean and purge the second extruder based on the time since mixing satisfying a threshold.
 90. The method of claim 89, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 91. The method of claim 80, wherein the set of commands is executable to cause the 3D printer to mix two or more components to form a second material associated with the second extruder, to track a time since mixing, and to clean, to purge, or to clean and purge the second extruder based on the time since mixing satisfying a threshold.
 92. The method of claim 91, wherein the two or more components include a resin and a hardening agent, wherein the two or more components begin to cure upon mixing, and wherein the threshold is based on cure time of a mixture including the two or more components.
 93. The method of claim 91, wherein the set of commands is executable to cause the 3D printer to clean, to purge, or to clean and purge the first extruder after depositing the portion of the first material and before depositing a second portion of the first material.
 94. The method of claim 80, wherein the set of commands are further executable to cause the 3D printer deposit a second material after depositing the portion of the first material and before depositing a second portion of the first material, wherein the second material is chemically distinct from the first material.
 95. The method of claim 80, wherein the 3D model includes a first model portion representing a matrix material and a second model portion representing a filler material, and wherein processing the model data includes: identifying a first region of the 3D model that includes the matrix material and a second region of the 3D model that includes the filler material, wherein at least a portion of the second region is enveloped by at least a portion of the first region in the 3D model; and automatically modifying the model data to omit at least a portion of the matrix material from the first region of the 3D model.
 96. The method of claim 95, wherein dimensions of the portion of the matrix material omitted from the first region of the 3D model are determined based on physical dimensions of an extruder associated with the filler material, wherein the extruder associated with the filler material corresponds to the first extruder or corresponds to the second extruder.
 97. The method of claim 80, wherein the first extruder comprises filament-feed extruder and the second extruder comprises a paste extruder.
 98. The method of claim 80, wherein the set of commands includes G-code commands. 